﻿@namespace AntDesign.Internal
@typeparam TValue
@inherits DatePickerPanelBase<TValue>
@using System.Globalization;

@{
    var calendar = CultureInfo.InvariantCulture.Calendar;

    DateTime startDate = new DateTime(PickerValue.Year, 1, 1);

    const int MAX_ROW = 1;
    const int MAX_COL = 4;
}

<div class='@($"{PrefixCls}-panel")'>
    <DatePickerTemplate @attributes="GetAttritubes()"
                        TValue="TValue"
                        MaxRow="MAX_ROW"
                        MaxCol="MAX_COL"
                        ViewStartDate="startDate"
                        IsInView="date => true"
                        IsToday="date => DateHelper.IsSameQuarter(date, DatePicker.CurrentDate)"
                        IsSelected="date => DateHelper.IsSameQuarter(date, Value)"
                        GetColTitle='date => date.ToString(this.DatePicker.CultureInfo.GetDateLocale().YearFormat, this.DatePicker.CultureInfo)'
                        OnValueSelect="date => OnSelectQuarter(date)"
                        GetNextColValue="date => date.AddMonths(3)">
        <RenderPickerHeader>
            <DatePickerHeader @attributes="GetAttritubes()"
                              TValue="TValue"
                              ShowPreChange="@false"
                              ShowNextChange="@false"
                              ShowSuperPreChange="@(!(IsRange && PickerIndex == 1))"
                              ShowSuperNextChange="@(!(IsRange && PickerIndex == 0))" />
        </RenderPickerHeader>
        <RenderColValue Context="currentColDate">
            @DateHelper.GetDayOfQuarter(currentColDate)
        </RenderColValue>
    </DatePickerTemplate>
</div>